1. Field of the Invention
The present invention relates generally to gesture recognition (GR), and more particularly to a method for implementing a continuous recognition of multi-touch gestures with multi-touch (MT) input devices.
2. Description of the Related Art
Most of modern computer systems (PC, Smartphones, etc) provide a similar core set of user interface commands, like drag-and-drop or cut-and-paste, that can be invoked using a mouse interaction (right-click, button, menu, etc) or keyboard shortcuts that are standardized across applications and partially across operating systems. Attempts to replace keyboard shortcuts with more natural interaction have led to gesture or handwriting recognizers (Graffiti alphabet, Microsoft Tablet PC Ink, etc) that activate these commands in response to glyphs drawn with a mouse, a pen or a finger. These recognizers have become commonplace in computer systems equipped with a stylus: PDA, smartphone/Pocket PC and tablet PC.
Over the last decades, there has been considerable interest in developing a new class of interactive devices, well-known as multi-touch devices an also referred as surface computing, which enable users to interact with computer systems in more natural ways, with a wider variety of interactions, than the more conventional input devices, such as keyboards, mice or simple touch screens. In 1984, Bell Labs was granted a patent for a touch-sensitive display with multi-touch capabilities (U.S. Pat. No. 4,484,179, filed in Dec. 23, 1981) and Lee S., University of Toronto, Canada, first implemented a capacitive sensor array capable of tracking multiple contact points simultaneously (Lee S., “A Fast Multiple-Touch Sensitive Input Device”, M.A.Sc Thesis, Department of Electrical Engineering, University of Toronto, 1984). In 1991, Dean Rubine demonstrated a multi-touch version of his GDP (gesture-based drawing program) application, called MDP (Multi-finger drawing program), at SIGGRAPH 1991 (“Specifying gestures by example”, Proceeding of the 18th Annual Conference on Computer Graphics and interactive Techniques SIGGRAPH'91. ACM Press, New York, N.Y., 329-337) using the Sensor Frame, a multi-touch input device invented by Paul McAvinney, University of Carnegie Mellon, that could detect up to three fingers. The MDP application illustrated a set of multi-touch gestures such as two fingers pinch gesture, two fingers rotate gesture or three fingers undo gesture i.e. three parallel Z (Rubine D., “The Autoimatic Recognition of Gestures”, PhD Thesis, Carnegie-Mellon University, 1991). In 1992 SUN Microsystems released a concept movie of their vision of future computing in 2004, produced by Bruce Tognazinni, called “STARFIRE” showcasing a multi-touch gesture based user interface. This video is said to have inspired significant research in the area of multi-touch interaction, especially at corporate research labs such as Microsoft Research.
Gesture recognition methods have been identified in the art as being extremely valuable in the regard of multi-touch interaction. The availability of multi-touch input devices opens up the possibilities for new innovative gestures using multiple fingers which can be more intuitive and efficient through their proximity to actions used to manipulate everyday objects. Indeed, learning a small set of hand gestures for direct manipulation is/seems much easier than learning a slew of keyboard shortcuts.
Recently, multi-touch input devices have become more widespread thanks to advancements in the area of touch sensing technologies. For example, Jeff Han has popularized a low cost multi-touch device and multi-touch interactions with his publication “Low-cost multi-touch sensing through Frustrated Total Internal Reflection”, Proceeding of the 18th Annual ACM Symposium on User interface Software and Technology (Seattle, Wash., USA, Oct. 23-26, 2005). UIST '05, ACM, New York, N.Y., 115-118. Multi-touch interactions, such as the two fingers “rotate, scale and translate” gesture to move, stretch and turn objects, are now available on commercial products such as Apple® iPhone™ or Macbook Air®. But their multi-touch gesture dictionaries do not provide a gesture for all core user interface commands. For example, “cut-and-paste” is not yet associated to a de-facto standard multi-touch gesture. Thus, a careful design of a standard multi-touch gesture dictionary that includes the core set of user interface commands is an important task to help people to switch from a conventional PC (mouse and keyboard) to a multi-touch interactive surface.
Currently available mono-stroke and multi-stroke gesture recognition frameworks, such as Microsoft® Ink, can not immediately be applied to interpret multi-touch inputs because they assume the existence of a unique orientation, i.e. a single directional viewing angle. Indeed, with multi-touch, we are entering an era where people can gather around a table (side by side, face to face, etc.) and interact with the user interface from any side: hence, there is not a single directional viewing angle or orientation that is ideal for everyone around the table. Thus, gesture recognition frameworks need to be adapted to support multi-touch gestures. They particularly need to handle one of the most prominent issues that arise for multi-users systems dealing with multi-touch gesture interactions: how to distinguish between individual gestures when they are performed concurrently. It involves determining when a gesture starts, when it stops and when to interpret the input data as a collection of isolated gestures rather than a single gesture. It is primarily an issue for multi-touch devices that can not distinguish users.
While there exists a variety of multi-touch gestures recognition engine, they can only recognize isolated multi-touch gestures and none of them addresses the issue of supporting a real continuous recognition of multi-touch gestures. A continuous recognition of multi-touch gestures involves at least two prerequisites. The first one is the recognition of dynamic multi-touch gestures, i.e. the ability to dynamically update parameter values of the recognized multi-touch gesture, once it is recognized, based on tracking of contact points, e.g. when a contact point moves. The second and most important one is the ability to interpret users input data as a sequence of temporally contiguous distinct multi-touch gestures, i.e. to allow users to start interacting with one multi-gesture and subsequently perform any other multi-touch gestures, if they want it, without needing to lift all their fingers off the multi-touch input device between each multi-touch gesture. Simply put, it means that the number of contact points can be changed (increased or decreased) while a user is interacting. Current multi-touch gestures recognition engines do not fulfill the second prerequisite. For example, Apple® and Synaptics® multi-touch trackpads do not allow a user to perform a continuous sequence of different multi-touch gestures, i.e. a sequence of temporally contiguous multi-touch gestures in which the user does not lift off all his/her fingers until the end of the last multi-touch gesture. Indeed, once a multi-gesture is recognized, the user can not perform another multi-touch gesture until he/she lift off his/her fingers and put back them down on the multi-touch surface. For example, if the system recognizes a pinch gesture performed with two fingers and the user puts an additional finger down after the pinch gesture is recognized, the system will not even try to recognize any three fingers gesture: the user will have to lift its fingers off the multi-touch input device and put back them again in order to perform a new gesture.
Accordingly, one of the objects and advantages of the present invention is to provide an approach to segment a sequence of user inputs into temporally contiguous elementary multi-touch gestures and hence performing a continuous recognition of multi-touch gestures. Further objects and advantages of the present invention will become apparent from a consideration of the drawings and ensuing description.